iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
Security

Hack the Boyfriend: 為了 CTF 帥哥,我貢獻了我的肝臟系列 第 12

有時候,只是想找個依賴 - Part 2

  • 分享至 

  • xImage
  •  

昨日的節錄 - credential

像是桌面上攤滿了 cmdkey /listnetsh wlan show profile
還有那個我半途放下的 keepass2john.py
每一行輸出都像在提醒我,
我找遍別人的憑證、Wi-Fi 密碼、甚至整個密碼庫,
卻還沒找到一個能讓我安全存放情緒的地方。

cmdkey /list

cmdkey 指令可用來建立、列出與刪除已儲存的使用者名稱與密碼。

支援的版本範圍

cmdkey 支援的版本範圍

參考來源:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cmdkey

cmdkey 指令說明

假設我們使用以下指令:

C:\lab> cmdkey /list

裡面沒有列出任何帳號,如下:
https://ithelp.ithome.com.tw/upload/images/20250815/201071974oQMzb4b5C.png

表示 Windows 目前沒有儲存任何憑證(Credential Manager 是空的),所以這條路就沒東西可以撿。

但是!如果抓到帳密,在滲透中,可以先在受害機器用 /add 儲存我們控制的帳密,方便後面用 runas 或 RDP 直接登入。

常用的參數如下:

參數 功能 範例
/list 列出目前系統中所有儲存的憑證 cmdkey /list
/add:target 新增一組憑證(target 是主機或資源名稱) cmdkey /add:10.10.10.1 /user:admin /pass:s@trongPwd
/delete:target 刪除特定主機或資源的憑證 cmdkey /add:10.10.10.1

如果有儲存密碼,就可以透過 runas!

runas

runas 是 Windows 用來切換帳號執行程式的指令。

你知道對方帳號的密碼,就能用他的身份做事XD

舉例來說,我可以利用已儲存的 admin 的密碼,以 admin 身份執行指令:

PS C:\lab> runas /savecred /user:admin "COMMAND HERE"

常用的參數如下:

參數 說明
/user:<使用者> 指定要用的帳號(格式可以是 UserName 或 Domain\UserName)
/savecred 第一次輸入密碼後會儲存,下次可直接用
/profile 載入該使用者的設定檔(預設為載入)
/netonly 只在網路存取時使用這個帳號(本地仍用原本帳號)
/smartcard 使用智慧卡登入
/showtrustlevels 顯示可用的信任等級(Trust Levels)

Wifi 篇: netsh wlan show profile

C:\lab> netsh wlan show profile

netsh wlan show profile 是 Windows 內建 netsh(Network Shell)指令裡的一個子功能,用來列出這台電腦曾經連線並儲存過的無線網路設定檔。

如果我們已經取得目標工作站(具備無線網卡)的本機系統管理員權限,就能列出該使用者最近連線過的無線網路。

如果網路的設定允許,我們就能透過以下指令讀出該 Wi-Fi 的預先共享金鑰(Key Content)。

C:\lab> netsh wlan show profile <user_profile> key=clear

不過,這在滲透測試中這種情況不算常見。

keepass2john

很多公司會給員工用密碼管理工具,例如桌面版的 KeePass、雲端的 1Password,或企業級的 Thycotic、CyberArk。

若能打開這些工具,尤其是 IT 部門共用的密碼庫,就有機會直接拿到網路設備、伺服器、資料庫等高價值系統的管理員帳號。

有時候攻擊者可以靠重複使用的密碼或弱密碼闖進密碼庫。

舉例來說,像 KeePass 這類工具,密碼庫檔案(.kdbx)通常是存在本機,如果我們在目標機器或檔案共享中找到它,就能把它下載到攻擊端,然後用 keepass2john 把主密碼轉成雜湊,再用 Hashcat 或 John the Ripper 離線破解。

原始碼 keepass2john:

https://gist.githubusercontent.com/HarmJ0y/116fa1b559372804877e604d7d367bbc/raw/c0c6f45ad89310e61ec0363a69913e966fe17633/keepass2john.py

如果我們找到了 ADMIN.kdbx 檔案,可以用以下方式把 KeePass 資料庫轉成 Hashcat 可以使用的雜湊格式。

python2.7 keepass2john.py ADMIN.kdbx 

接著,我們把找到的雜湊丟到 Hashcat:
https://hashcat.net/wiki/doku.php?id=example_hashes 中,指定 13400(KeePass)模式來破解。

如果破解成功,就有機會獲得大量帳號密碼,能用來登入其他應用程式、系統:

參考指令:

hashcat -m 13400 <您找到的 keepass_hash> /opt/useful/seclists/Passwords/Leaked-Databases/rockyou.txt

小語

# python3 keepass2ctfboy.py CTFboy_Heart.kdbx 
# 我們的專屬指令

上一篇
心情雜亂,還是要前進吧!
下一篇
有時候,只是想找個依賴 - Part 3
系列文
Hack the Boyfriend: 為了 CTF 帥哥,我貢獻了我的肝臟26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言